package com.atguigu.pratice2;

import java.util.concurrent.TimeUnit;

//8锁案例
/*
1 标准访问  请问先打印邮件还是短信   -->Email
2 邮件暂停3秒，请问先打印邮件还是短信  -->Email
3 新增普通hello方法，请问先打印邮件还是hello   -->hello
4 两部手机，请问先打印邮件还是短信   -->SMS
5 两个静态同步方法，一部手机，请问先打印邮件还是短信   -->Email
6 两个静态同步方法，2部手机，请问先打印邮件还是短信    -->Email
7 一个静态同步方法，一个普通同步方法，1部手机，请问先打印邮件还是短信   -->SMS
8 一个静态同步方法，一个普通同步方法，2部手机，请问先打印邮件还是短信   -->SMS
 */
class Resource{
    //发送邮件
    public static synchronized void sendEmail(){
        //线程睡眠几秒
        try {TimeUnit.SECONDS.sleep(3);} catch (InterruptedException e) {throw new RuntimeException(e);}
        System.out.println("sendEmail......");
    }
    public  synchronized void sendSMS(){
        System.out.println("SMS......");
    }
    public void hello(){
        System.out.println("hello()......");
    }
}
public class Lock8Demo {
    public static void main(String[] args) {
        Resource resource = new Resource();
        Resource resource2 = new Resource();
        new Thread(() -> {
                resource.sendEmail();
                 }, "A").start();
         //线程睡眠几秒
         try {
             TimeUnit.SECONDS.sleep(1);} catch (InterruptedException e) {throw new RuntimeException(e);}

        new Thread(() -> {
            resource.sendSMS();
//             resource.hello();
//            resource2.sendSMS();
        }, "B").start();
    }

}
